def maxSubArray(nums: list[int]) -> int:
    # 初始化变量
    dp = nums[0]  # dp[i]表示以nums[i]为结尾的最大子数组和
    max_sum = dp  # 用来保存最终的最大子数组和
    
    # 遍历数组
    for i in range(1, len(nums)):
        dp = max(nums[i], dp + nums[i])  # 状态转移方程
        max_sum = max(max_sum, dp)  # 更新最大值

    return max_sum

if __name__ == "__main__":
    nums = list(map(int, input().split()))
    print(maxSubArray(nums))
